Methods and systems for line management

ABSTRACT

Methods and Systems are provided for managing one or more communications lines associated with a user of a communications network. A service center may receive from a user line management information regarding one or more of the user&#39;s communications lines. This line management information may include a request from the user to handle all calls to the communications line in a particular manner (e.g., forward all calls to a different number). This line management information may also include information regarding scheduling the handling of calls to the communications line (e.g., scheduling call forwarding) or a request to handle calls differently based on information identifying the origination of the call (e.g., caller-ID). The service center may then forward instructions to the communications network such that the components (e.g., SSP or SCP) of the communications network implement the user&#39;s modifications. Additionally, the service center may be provided with information, in real-time, regarding a call to the communications line that may include, for example, the caller-ID for the incoming call. The service center may then determine how the call should be handled and forward instructions to the communications network to handle the call according to the user&#39;s requests.

RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 10/083,793, entitled “METHOD AND APPARATUS FOR CALENDAREDCOMMUNICATIONS FLOW CONTROL,” filed Feb. 27, 2002, U.S. patentapplication Ser. No. 10/083,792, entitled “VOICE MAIL INTEGRATION WITHINSTANT MESSENGER,” filed Feb. 27, 2002, now U.S. Pat. No. 7,142,646;U.S. patent application Ser. No. 10/083,884, entitled “DEVICEINDEPENDENT CALLER ID,” filed Feb. 27, 2002, now U.S. Pat. No.7,190,773; and U.S. patent application Ser. No. 10/083,822, entitled“METHOD AND APPARATUS FOR A UNIFIED COMMUNICATION MANAGEMENT VIA INSTANTMESSAGING,” filed Feb. 27, 2002, U.S. patent application Ser. No.10/084,121, entitled “CALENDAR-BASED CALLING AGENTS,” filed Feb. 27,2002, now abandoned, all of which claim priority to U.S. ProvisionalPatent Application Nos. 60/272,122, 60/272,167, both filed Feb. 27, 200160/275,667, 60/275,719, 60/275,020, 60/275,031, all filed Mar. 13,2001and 60/276,505 filed Mar. 19, 2001, and all of which are expresslyincorporated herein by reference in their entirety.

Applicants also claim the right to priority under 35 U.S.C. § 119(e)based on Provisional Patent Application No. 60/428,704, entitled“DIGITAL COMPANION,” filed Nov. 25, 2002; and Provisional PatentApplication No. 60/436,018, entitled “DIGITAL COMPANION,” filed Dec. 26,2002, both of which are expressly incorporated herein by reference intheir entirety.

The present application also relates to U.S. patent application Ser. No.10/720,661, entitled “METHODS AND SYSTEMS FOR DRAG AND DROP CONFERENCECALLING”; U.S. patent application Ser. No. 10/720,859, entitled “METHODSAND SYSTEMS FOR CONFERENCE CALL BUFFERING”; U.S. patent application Ser.No. 10,721,009, entitled “METHODS AND SYSTEMS FOR COMPUTER ENHANCEDCONFERENCE CALLING,”; U.S. patent application Ser. No. 10/720,943,entitled “METHODS AND SYSTEMS FOR REMOTE CALL ESTABLISHMENT”; U.S.patent application Ser. No. 10/721,005, entitled “METHODS AND SYSTEMSFOR CALL MANAGEMENT WITH USER INTERVENTION”; U.S. patent applicationSer. No. 10/720,868, entitled “METHODS AND SYSTEMS FOR DIRECTORYINFORMATION LOOKUP”; U.S. patent application Ser. No. 10/720,970,entitled “METHODS AND SYSTEMS FOR AUTOMATIC COMMUNICATION LINEMANAGEMENT BASED ON DEVICE LOCATION”; U.S. patent application Ser. No.10/720,952, entitled “METHODS AND SYSTEMS FOR ADAPTIVE MESSAGE AND CALLNOTIFICATION,”; U.S. patent application Ser. No. 10/720,870, entitled“METHODS AND SYSTEMS FOR A CALL LOG”; U.S. patent application Ser. No.10/720,633, entitled *“METHODS AND SYSTEMS FOR AUTOMATIC FORWARDING OFCALLS TO A PREFERRED DEVICE”; U.S. patent application Ser. No.10/720,784, entitled “METHODS AND SYSTEMS FOR CONTACT MANAGEMENT,”; U.S.patent application Ser. No. 10/720,920, entitled “METHODS AND SYSTEMSFOR NOTIFICATION OF CALL TO PHONE DEVICE”; U.S. patent application Ser.No. 10/720,825, entitled “METHODS AND SYSTEMS FOR SINGLE NUMBER TEXTMESSAGING”; U.S. patent application Ser. No. 10/720,944, entitled“METHODS AND SYSTEMS FOR MULTI-USER SELECTIVE NOTIFICATION”; U.S. patentapplication Ser. No. 10/720,933, entitled “METHODS AND SYSTEMS FOR CPNTRIGGERED COLLABORATION”; and U.S. patent application Ser. No.10/720,938, entitled “METHODS AND SYSTEMS FOR PREEMPTIVE REJECTION OFCALLS”, all of which are expressly incorporated herein by reference intheir entirety.

TECHNICAL FIELD

The present invention relates generally to data processing systems and,more particularly, to a method and system for managing one or morecommunications lines associated with a user of a communications network.

BACKGROUND

A wide variety of means exist for communication between users. Forexample, a user may conduct phone calls via a home phone, work phone,and mobile phone. In addition, users may also communicate using devicessuch as PC's, PDA's, pagers, etc. using manners of communicating asemail and instant messaging.

Unfortunately, managing such a wide variety of communication means canbe difficult. In particular, as a user changes location, communicationwith the user may vary. For example, while on travel, it may only bepossible to reach a user by mobile phone. However, the user may best bereached by email while at work. Also, the user may wish to implementvarious rules for receiving and controlling communications. For example,to be reached at home, the user may want the home phone to ring threetimes before forwarding the call to a mobile phone. As another example,the user may wish to be paged each time an email is received from aparticular person while away from the office.

A user may also wish to treat a phone call differently dependent on whois calling the user. For example, if a user receives a call from acaller that the user does not want to speak to at the moment, the usermay want to send that call directly to voice mail. Also, if a userreceives a call from a number that displays no caller ID information orthat the user otherwise does not recognize, the user may wish to somehowspecially treat the call because the caller is a potential telemarketer.

Accordingly, there is a need for methods and systems for providing auser with the capability to manage the user's communications lines.

SUMMARY

Consistent with the purposes of the invention, as embodied and broadlydescribed herein, methods and systems are provided for managing two ormore communications lines associated with a user of a communicationsnetwork. These methods and systems include receiving from the user overa data network line management information regarding two or morecommunications lines associated with an account for the user,determining that the received line management information includes amodification to at least one of the communications lines associated withthe account, and transmitting an instruction to a component of thecommunications network to implement the modification to the at least onecommunications line.

In another aspect, method and systems are provided for managing one ormore communications lines associated with a user of a communicationsnetwork. These methods and systems include receiving from the user overa data network line management information regarding one or morecommunications lines associated with an account for the user, receivingfrom the communications network information regarding a call received onat least one of the communications lines associated with the account,determining handling of the call based on the received line managementinformation, and transmitting to the communications network aninstruction regarding the handling of the call, such that thecommunications network handles the call in accordance with the receivedline management information.

In yet another aspect, methods and systems are provided includereceiving from the user over a data network line management informationregarding one or more communications lines associated with an accountfor the user, determining that the received line management informationincludes a modification to at least one of the communications linesassociated with the account, and transmitting an instruction to aservice control point of the communications network to implement themodification to the at least one communications line.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the invention, as claimed.

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate one (several) embodiment(s) ofthe invention and together with the description, serve to explain theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate one embodiment of the inventionand, together with the description, serve to explain the principles ofthe invention.

FIG. 1 is a diagram of an exemplary data processing andtelecommunications environment in which features and aspects consistentwith the principals of the present invention may be implemented;

FIG. 2 is a diagram of an exemplary user terminal, consistent with theprincipals of the present invention;

FIG. 3 is a diagram of a voice network, consistent with the principlesof the present invention;

FIG. 4 is a block diagram of a service center, consistent with theprinciples of the present invention;

FIG. 5 illustrates a logical architecture of an exemplary system,consistent with the principles of the present invention;

FIG. 6 illustrates an exemplary screen shot of a screen that may bedisplayed to a user in response to the user electing to activate callforwarding, consistent with the principles of the present invention;

FIG. 7 illustrates an exemplary screen shot of a screen that may bedisplayed to a user to select a number to which calls are to beforwarded, consistent with the principles of the present invention;

FIG. 8 illustrates an exemplary screen that may be displayed to a userto schedule call forwarding, consistent with the principles of thepresent invention;

FIG. 9 illustrates an exemplary screen for entering schedulinginformation for call forwarding, consistent with the principles of thepresent invention;

FIG. 10 illustrates an exemplary screen for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings, consistent with the principles of the present invention;

FIG. 11 illustrates an exemplary screen for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings weekly, consistent with the principles of the presentinvention;

FIG. 12 illustrates an exemplary screen for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings monthly, consistent with the principles of the presentinvention;

FIG. 13 illustrates an exemplary screen for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings yearly, consistent with the principles of the presentinvention;

FIG. 14 illustrates a more detailed screen that, for example, a user maybe presented with for a particular contact in the user's contact book,consistent with the principles of the present invention;

FIG. 15 illustrates a flow for chart for an exemplary method forimplementing user's selections, consistent with the principles of thepresent invention;

FIG. 16 illustrates a flow chart for a method for call forwarding by anSSP updated via a CFV update, consistent with the principles of thepresent invention;

FIG. 17 illustrates a method for call forwarding for an SSP providingAIN services, consistent with the principles of the present invention;and

FIG. 18 illustrates a flow chart of a method for forwarding calls basedon the caller-ID of the call, consistent with the principles of thepresent invention.

DETAILED DESCRIPTION

Reference will now be made in detail to exemplary embodiments of thepresent invention, examples of which are illustrated in the accompanyingdrawings. Wherever possible, the same reference numbers will be usedthroughout the drawings to refer to the same or like parts.

FIG. 1 is a block diagram of a data processing and telecommunicationsenvironment 100, in which features and aspects consistent with thepresent invention may be implemented. The number of components inenvironment 100 is not limited to what is shown and other variations inthe number of arrangements of components are possible, consistent withembodiments of the invention. The components of FIG. 1 may beimplemented through hardware, software, and/or firmware. Data processingand telecommunications environment 100 may include a data network 102, avoice network 104, and a service center 106. A user 110 may use a userterminal 112 to interface with data network 102 and may use phones 114,116, and 118 to interface with voice network 104. A calling party 120may use a phone 122 to call a user, such as user 110, at anyone ofphones 114, 116, and 118.

Data network 102 provides communications between the various entitiesdepicted in environment 100 of FIG. 1, such as user terminal 112 andservice center 106. Data network 102 may be a shared, public, or privatenetwork and encompass a wide area or local area. Data network 102 may beimplemented through any suitable combination of wired and/or wirelesscommunication networks. By way of example, data network 102 may beimplemented through a wide area network (WAN), local area network (LAN),an intranet and/or the Internet. Further, the service center 106 may beconnected to multiple data networks 102, such as, for example, to awireless carrier network and to the Internet.

Voice network 104 may provide telephony services to allow a callingparty, such as calling party 120, to place a call to user 110. In oneembodiment, voice network 104 may be implemented using a network, suchas the Public Switched Telephone Network (“PSTN”). Alternatively, voicenetwork 104 may be implemented on a voice over broadband network, suchas, for example, a network using voice-over Internet Protocol (“VoIP”)technology. Additionally, in other embodiments, voice network 104 may bea video over broadband network, such as, for example, a network forproviding 2-way video communications. In another example, voice network104 may be a wireless broadband network, such as, for example, a networkusing WiFi (i.e., IEEE 802.11(b) and/or (g)). In yet another example,voice network 104 may be a wireless voice network(s), such as, forexample, a cellular or third-generation cellular network). In addition,voice network 104 may be implemented using any single or combination ofthe above-described technologies consistent with the principles of thepresent invention. Further, service center 106 may be connected tomultiple voice networks 104, such as for example, Verizon's™ VoiceNetwork, voice networks operated by other carriers, and wireless carriernetworks.

Service center 106 provides a platform for managing communications overdata network 102 and voice network 104. Service center 106 also providesgateway functions, such as code and protocol conversions, to transfercommunications between data network 102 and voice network 104. Servicecenter 106 may be implemented using a combination of hardware, software,and/or firmware. For example, service center 106 may be implementedusing a plurality of general purpose computers or servers coupled by anetwork (not shown). Although service center 106 is shown with directconnections to data network 102 and voice network 104, any number andtype of network elements may be interposed between service center 106,data network 102, and voice network 104.

User terminal 112 provides user 110 an interface to data network 102.For example, user terminal 112 may be implemented using any devicecapable of accessing the Internet, such as a general purpose computer orpersonal computer equipped with a modem. User terminal 112 may also beimplemented in other devices, such as the Blackberry™, and Ergo Audrey™.Furthermore, user terminal 112 may be implemented in wireless devices,such as pagers, mobile phones (with data access functions), and PersonalDigital Assistants (“PDA”) with network connections.

User terminal 112 also allows user 110 to communicate with servicecenter 106. For example, user 110 may use instant messaging (“IM”) tocommunicate with service center 106. In addition, user terminal 112 mayuse other aspects of TCP/IP including the hypertext transfer protocol(“HTTP”); the user datagram protocol (“UDP”); the file transfer protocol(“FTP”); the hypertext markup language (“HTML”); and the extensiblemarkup language (“XML”).

Furthermore, user terminal 112 may communicate directly with servicecenter 106. For example, a client application may be installed on userterminal 112, which directly communicates with service center 106. Also,user terminal 112 may communicate with service center 106 via a proxy.

Phones 114, 116, 118, and 122 interface with voice network 104. Phones114, 116, 118, and 122 may be implemented using known devices, includingwireline phones and mobile phones. Although phones 114, 116, 118, and122 are shown directly connected to voice network 104, any number ofintervening elements, such as a private branch exchange (“PBX”), may beinterposed between phones 114, 116, 118, and 122 and voice network 104.

FIG. 2 is a block diagram of a user terminal consistent with the presentinvention. User terminal 112 includes a central processing unit (CPU)200, a memory 202, a storage module 204, a network interface 206, aninput interface 208, an output interface 210, an input device 216, andan output device 218.

CPU 200 provides control and processing functions for user terminal 112.Although FIG. 2 illustrates a single CPU, user terminal 112 may includemultiple CPUs. CPU 200 may also include, for example, one or more of thefollowing: a co-processor, memory, registers, and other processingdevices and systems as appropriate. CPU 200 may be implemented, forexample, using a Pentium™ processor provided from Intel Corporation.

Memory 202 provides a primary memory for CPU 200, such as for programcode. Memory 202 may be embodied with a variety of components ofsubsystems, including a random access memory (“RAM”) and a read-onlymemory (“ROM”). When user terminal 112 executes an application installedin storage module 204, CPU 200 may download at least a portion of theprogram code from storage module 204 into memory 202. As CPU 200executes the program code, CPU 200 may also retrieve additional portionsof program code from storage module 204.

Storage module 204 may provide mass storage for user terminal 112.Storage module 204 may be implemented with a variety of components orsubsystems including, for example, a hard drive, an optical drive, CDROM drive, DVD drive, a general-purpose storage device, a removablestorage device, and/or other devices capable of storing information.Further, although storage module 204 is shown within user terminal 112,storage module 204 may be implemented external to user terminal 112.

Storage module 204 includes program code and information for userterminal 112 to communicate with service center 106. Storage module 204may include, for example, program code for a calendar application, suchas GroupWise provided by Novell Corporation or Outlook provided byMicrosoft Corporation; a client application, such as a Microsoft NetworkMessenger Service (MSNMS) client or America Online Instant Messenger(AIM) client; and an Operating System (OS), such as the WindowsOperation System provided by Microsoft Corporation. In addition, storagemodule 204 may include other program code and information, such asprogram code for TCP/IP communications; kernel and device drivers;configuration information, such as a Dynamic Host Configuration Protocol(DHCP) configuration; a web browser, such as Internet Explorer providedby Microsoft Corporation, or Netscape Communicator provided by NetscapeCorporation; and any other software that may be installed on userterminal 112.

Network interface 206 provides a communications interface between userterminal 112 and data network 102. Network interface 206 may receive andtransmit communications for user terminal 112. For example, networkinterface 206 may be a modem, a local area network (“LAN”) port, awireless modem, or a wireless data port.

Input interface 208 receives input from user 110 via input device 212and provides the input to CPU 200. Input device 212 may include, forexample, a keyboard, a microphone, and a mouse. Other types of inputdevices may also be implemented consistent with the principles of thepresent invention.

Output interface 210 provides information to user 110 via output device214. Output device 214 may include, for example, a display, a printer,and a speaker. Other types of output devices may also be implementedconsistent with the principles of the present invention.

FIG. 3 is a diagram of a voice network, consistent with the principlesof the present invention. As shown, voice network 104 includes anintelligent service control point (ISCP) 302, service transfer points(STP) 304 and 306, service switching points (SSP) 308 and 310, a lineinformation database (LIDB) 312, an ISCP Service Provisioning AndCreation Environment (SPACE) 314, a Recent Change Environment 316, andan Intelligent Peripheral (IP) 320. Although in this embodiment voicenetwork 104 is described as a PSTN, as discussed above in otherembodiments, voice network 104 may be, for example, a voice or videoover broadband network a wireless broadband, a wireless voice network,etc.

Voice network 104 may be implemented using the PSTN and SS7 as asignaling protocol. The SS7 protocol allows voice network 104 to providefeatures, such as call forwarding, caller-ID, three-way calling,wireless services such as roaming and mobile user authentication, localnumber portability, and toll-free/toll services. The SS7 protocolprovides various types of messages to support the features of voicenetwork 104. For example, these SS7 messages may include TransactionCapabilities Applications Part (“TCAP”) messages to support event“triggers,” and queries and responses between ISCP 302 and SSPs 308 and310.

ISCP 302 may also be, for example, a standard service control point(SCP), an Advanced Intelligent Network (AIN) SCP, a soft switch, or anyother network call controller. As used herein, the term service controlpoint (SCP) is a generic term that covers standard SCPs, ISCPs and AINSCPs. ISCP 302 provides translation and routing services of SS7 messagesto support the features of voice network 104, such as call forwarding.In addition, ISCP 302 may exchange information with the service center106 using TCP/IP or SS7. ISCP 302 may be implemented using a combinationof known hardware and software. ISCP 302 is shown with both a directconnection to service center 106 and a connection through ISCP SPACE314, however, any number of network elements including routers,switches, hubs, etc., may be used to connect ISCP 302, ISCP SPACE 314,and service center 106. Further, information exchanged between ISCP 302and service center 106 may use, for example, the SR-3389 General DataInterface (GOI) for TCP/IP.

STPs 304 and 306 relay SS7 messages within voice network 104. Forexample, STP 304 may route SS7 messages between SSPs 308 and 310. STP302 may be implemented using known hardware and software frommanufacturers such as NORTEL™ and LUCENT Technologies™.

SSPs 308 and 310 provide an interface between voice network 104 andphones 114 and 122, respectively, to setup, manage, and releasetelephone calls within voice network 104. SSPs 308 and 310 may beimplemented as a voice switch, an SS7 switch, or a computer connected toa switch. SSPs 308 and 310 exchange SS7 signal units to support atelephone call between calling party 120 and user 110. For example, SSPs308 and 310 may exchange SS7 messages, such as TCAP messages, withinmessage signal units (“MSU”) to control calls, perform database queriesto configuration database 312, and provide maintenance information.

Line Information Database (LIDB) 312 comprises one or more knowndatabases to support the features of voice network 104. For example,LIDB 312 may include user information, such as a service profile, nameand address, and credit card validation information. Although, in thisfigure, LIDB 312 is illustrated as directly connected to ISCP 302, LIDB312 may be connected to ISCP 302 through an STP (e.g., 304 and 306).Additionally, this communication link may use, for example, the GR-2838General Dynamic Interface (GDI) for SS7.

ISCP Service Provisioning and Creation Environment (SPACE) 314 may beincluded as part of ISCP 302 or be separate from ISCP 302. For example,the Telcordia™ ISCP may include an environment similar to SPACE 314 aspart of the product. Further, ISCP SPACE 314 may include one or moreservers. ISCP SPACE 314 is the point in the ISCP platform where userrecord updates may be made.

In one embodiment, user records may be stored in ISCP SPACE 314 suchthat the records may be updated and sent to ISCP 302. These records mayinclude information regarding how to handle calls directed to the user.For example, these user records may include information regardingwhether or not calls for the user are to be forwarded to a differentnumber, and/or whether or not the call should be directed to an IP, suchas a voice mail system, after a certain number of rings. Additionally,one ISCP SPACE 314 may provide updates to one or more ISCPs 302 via anISCP network (not shown).

Additionally, the voice network 104 may include one or more recentchange engines 316 such as, for example, an Enterprise Recent Changeengine (eRC); an Assignment, Activation, and Inventory System (AAIS); ora multi-services platform (MSP). As an example, the eRC and AAIS may beused in voice networks 104 located in the western part of the UnitedStates, while an MSP may be used in networks in the eastern part. Therecent change engines may be used to update switch and ISCP databases.For example, a recent change engine may deliver database updates to SSPsand to ISCPs, such that when updating databases, these recent changeengines emulate human operators. Additionally, if the instructions areto be sent to an ISCP 302, the recent change engine may first send theinstructions to ISCP SPACE 314, which then propagates the instructionsto ISCP 302 as discussed above. Further, an MSP may be used, forexample, for providing updates to both SSPs 308 or 310 and ISCPs 302.Or, for example, an eRC may be used for providing updates to SSPs 308 or310, while an AAIS is used for providing updates to the ISCPs 302.Additionally, updates sent to SSPs 308 or 310 may be sent from recentchange engine 316 via a switch access 320 that may, for example, convertthe updates into the appropriate protocol for SSP 308 or 310. Forexample, recent change engine 316 may send updates to SSPs 308 or 310via TCP/IP. Switch access 320 may then convert the updates from TCP/IPto X.25. This switch access 320 may be any appropriate type of hardwareand/or software. Additionally, these connections may include any numberof elements, such as, for example, switches, routers, hubs, etc. and maybe, for example, an internal data network for voice network 104.

Additionally, voice network 104 may include one or more intelligentperipherals (IP). For example, in FIG. 3, an IP 320 is illustrated asbeing connected to SSP 308. These IPs may be used for providingservices, such as voice mail services. Additionally, the communicationsbetween SSP 308 and IP 320 may use the Primary Rate interface (PRi)(e.g., the 1129 protocol) protocol. Additionally, IP 320 may be capableof sending and receiving information to/from service center 106. Thesecommunications may use, for example, the SR-3511 protocol. Further,although FIG. 3 illustrates this connection as a direct connection, thisconnection may include any number of elements including routers,switches, hubs, etc., and may be via, for example, an internal datanetwork for voice network 104.

FIG. 4 is a block diagram of service center 106, consistent with theprinciples of the present invention. As shown, service center 106 mayinclude firewalls 402 and 404, one or more digital companion servers406, one or more communication portal servers 408, one or more networkaccess servers 410, and a voice portal 412. Voice portal 412 may includea voice portal application server 414 and a voice recognition server416. A network 418 may be used to interconnect the firewalls andservers. Additionally, back end server(s) 420 may be provided betweenthe service center 106 and the voice network 104.

Firewalls 402 and 404 provide security services for communicationsbetween service center 106, data network 102, and voice network 104,respectively. For example, firewalls 402 and 404 may restrictcommunications between user terminal 112 and one or more servers withinservice center 106. Any appropriate security policy may be implementedin firewalls 402 and 404 consistent with the principles of the presentinvention. Firewalls 402 and 404 may be implemented using a combinationof known hardware and software, such as the Raptor Firewall provided bythe Axent Corporation. Further, firewalls 402 and 404 may be implementedas separate machines within service center 106, or implemented on one ormore machines external to service center 106.

Network 418 may be any appropriate type of network, such as an Ethernetor FDDI network. Additionally, network 418 may also include switches androuters as appropriate without departing from the scope of theinvention. Further, additional firewalls may be present in network 418,for example, to place one or more of servers 406, 408, 410, or voiceportal 412 behind additional firewalls.

Each server (406, 408, 410, 414, 416, 420) may be any appropriate typeof server or computer, such as a Unix or DOS based server or computer.The servers may implement various logical functions, such as thosedescribed below. In FIG. 4, a different server is illustrated as beingused for each logical function. In other embodiments, the logicalfunctions may be split across multiple servers, multiple servers may beused to implement a single function, all functions may be performed by asingle server, etc.

In general, a digital companion server 406 may provide the software andhardware for providing specific services of the service center.Exemplary services include, for example, permitting a user to addcontacts to the user's address book from a history of calls made orreceived by the user, permitting a user to make calls directly from theuser's address book, scheduling a call to be placed at a specific time,or permitting the user to look at the name and/or address associatedwith a phone number. Additionally, these services may include permittingthe user to listen to the user's voice mail on-line, forwarding theuser's calls based on a scheduler and/or the calling parties number,setting up conference calls on-line, etc.

A communication portal server 408 may provide the hardware and softwarefor managing a user's account and interfacing with user accountinformation stored by the provider of user's voice network 104. Networkaccess servers 410 may provide the hardware and software for sending andreceiving information to voice network 104 in processing theapplications provided by the service center. For example, network accessservers 410 may be used for transmitting and/or receiving informationfrom/to ISCP 302 or SSP 308 or 310 of voice network 104.

Voice portal 412 includes software and hardware for receiving andprocessing instructions from a user via voice. For example, a user maydial a specific number for voice portal 412. Then the user using speechmay instruct service center 106 to modify the services to which the usersubscribes. Voice portal 412 may include, for example, a voicerecognition function 416 and an application function 414. Voicerecognition function 416 may receive and interpret dictation, orrecognize spoken commands. Application function 414 may take, forexample, the output from voice recognition function 416, convert it to aformat suitable for service center 106 and forward the information toone or more servers (406, 408, 410) in service center 106.

FIG. 5 illustrates a logical architecture of an exemplary system,consistent with the present invention. As illustrated, the logicalarchitecture may be split into four planes: client side plane 502,application service plane 504, network access plane 506, and voicenetwork plane 508.

Client side plane 502 includes user terminals 112_A and 112_B that auser may use to send and/or receive information to/from service center106. Additionally, client side 502 includes user's phone(s) 114. Asdiscussed above, user terminals 112 may be any appropriate type ofdevice a user may use for communicating with service center 106. Forexample, user terminal 112_A may be a PDA running a program (e.g., aclient application) for communicating with service center 106, whileuser terminal 112_B may be a desktop type computer running a web browserfor communicating with the service center 106 via the Internet.Additionally, the user may have one or more phones 114, such as, forexample, one or more standard landline telephones and/or wirelessphones.

Application service plane 504 includes digital companion server(s) 406,communication portal server(s) 408, and voice portal 412. These entitiesmay communicate between one another using, for example, web services orany other suitable protocols. Web services are a standardized way ofintegrating Web-based applications using the Extensible Markup Language(XML), Simple Object Access Protocol (SOAP), Web Services DescriptionLanguage (WSDL) and Universal Description, Discovery and Integration(UDDI) open standards over an Internet protocol (IP) backbone.

As illustrated, a digital companion server 406 may provide the followingfunctions: a client proxy 512, a web server 514, an application serverfunction 516, a calendar server function 518, a notification serverfunction 520, and a database function 522. Each of these functions maybe performed in hardware, software, and/or firmware. Further, thesefunctions may each be executed by a separate server, split acrossmultiple servers, included on the same server functions, or any othermanner.

Client proxy function 512 provides a proxy function for the digitalcompanion that may be used for security purposes. This client proxyfunction 512 may be included in a separate server such that allcommunications sent from the other digital companion functions/serversto a user terminal 112 via data network 102 go through client proxy 512.Also, if client proxy 512 is included on a separate server, for example,an additional firewall may be provided between client proxy 512 and theother digital companion servers to provide additional security.

Web server 514 provides functionality for receiving traffic over datanetwork 102 from a user. For example, web server 514 may be a standardweb server that a user may access using a web browser program, such asInternet Explorer or Netscape Communicator.

Application server function 516 encompasses the general functionsperformed by digital companion server(s) 406. For example, thesefunctions may include interfacing with the various other digitalcompanion functions to perform specific applications provided by theservice center. These services may include, for example, interfacingwith other function(s), software, and/or hardware to provide a user withthe capability of managing the user's calls online. For example,permitting a user to add contacts to the user's address book from ahistory of calls made or received by the user, permitting a user to makecalls directly from the user's address book, scheduling a call to beplaced at a specific time, or permitting the user to look at the nameand/or address associated with a phone number. Additionally, theseservices may include permitting the user to listen to the user's voicemail on-line, forwarding the user's calls based on a scheduler and/orthe calling parties number, setting up conference calls on-line, etc.

Additionally, application server function 516 may interface with one ormore external devices, such as an external web server, for retrieving orsending information. For example, application server function 516 mayinterface with a voice network's data center 556 (e.g., verizon.com) todetermine the services to which the user subscribes (e.g., call waiting,call forwarding, voice mail, etc.).

Calendar server function 518 may provide the capability of schedulingevents, logging when certain events occurred, triggering theapplication-functions to perform a function at a particular time, etc.

Notification server function 520 provides the capability to sendinformation from the service center 106 to a user terminal 112. Forexample, notification server function 520 at the direction ofapplication server function 516 may send a notification to user terminal112 that the user is presently receiving a phone call at user's phone114.

Database function 522 provides the storage of information useable by thevarious applications executed by the digital companion servers. Thesedatabases may be included in, for example, one or more external storagedevices connected to the digital companion servers. Alternatively, thedatabases may be included in storage devices within the digitalcompanion servers themselves. The storage devices providing databasefunction 522 may be any appropriate type of storage device, such as forexample, CD-ROMs, DVD's, disk drives, magnetic tape, etc.

As discussed above, communication portal server(s) 408 provide thehardware and software for managing a user's account and interfacing withuser account information stored by the provider of user's voice network104. As illustrated in FIG. 5, a communication portal server 408 mayprovide the following functions: a web server function 526, anapplication server function 528, a contacts database function 530,and/or a user profile function 532. Each of these functions may beperformed by a separate server, split across multiple servers, includedon the same server functions, or any other manner.

Web server function 526, as with web server function 522 of the digitalcompanion servers, provides functionality for receiving traffic overdata network 102 from a user. For example, the web server may be astandard web server that a user may access using a web browser, such asInternet Explorer or Netscape Communicator.

Application server function 528 encompasses the general functionsperformed by communication portal servers 406. For example, thesefunctions may include interfacing with the voice network to retrieveand/or modify user profile information, and creating and editing anaddress book for the user. Additionally, application server function 528may include the functionality of sending and/or receiving informationto/from external servers and/or devices. For example, communicationportal servers 408 may be connected to a network, such as, the Internet.Application server function 528 may then provide connectivity over theInternet to external servers 552 that provide web services, such as theSuperpages webpage. Application function 528 could then contact theseexternal services 552 to retrieve information, such as an address for aperson in user's address book.

In another example, application server function 528 of communicationportal 408 may interface a single sign on (SSO) server 554. SSO 554 maybe used to allow users to access all services to which the usersubscribes, on the basis of a single authentication that is performedwhen they initially access the network.

Contacts database 530 includes storage devices for storing an addressbook for the user. This address book may be any appropriate type ofaddress book. For example, a user's address book may include the names,phone numbers, and addresses of people and/or organizations. The storagedevices of database 530 may be internal or external to communicationportal servers 406 or some combination in between. In addition, thesestorage devices may be any appropriate type of storage device, such asmagnetic storage, memory storage, etc.

User profile database 532 includes storage devices for storing userprofile information for the user. These storage devices may be the sameor separate storage devices used for the contacts database. The userprofile may include information regarding user's account for the user'svoice network. For example, this information may include user's name,billing address, and other account information. Additionally, the userprofile may include information regarding voice services to which theuser subscribes, such as, for example, call waiting, voice mail, etc.

Additionally, application services plane 504 of the architecture mayinclude a voice portal 412. As discussed above, voice portal 412 mayinclude, for example, a voice recognition function 416 and anapplication server function 414, and be used for receiving andprocessing instructions from a user via voice. The voice recognitionfunction may be implemented using hardware and/or software capable ofproviding voice recognition capabilities. This hardware and/or softwaremay be a commercially available product, such as the Voice Applicationplatform available from Tellme Networks, Incorporated. Applicationserver function 414 of voice portal 412 may include hardware and/orsoftware for exchanging information between digital companion servers406 and voice recognition function 416. Additionally, application serverfunction 414 may be included on a separate server, included in thehardware and software providing voice recognition function 416, includedin digital companion servers 406, etc.

Network Access plane 506 of the architecture includes the functions forproviding connectivity between application service plane 502 and voicenetwork 104. For example, network access plane 506 may include therecent change engines 316, network access servers 410, and/or back endservers 420.

As discussed above, recent change engines 316 may be used to updateswitches and ISCP databases included in voice network 104. In oneembodiment, recent change engines 316 may include an MIS 544, an eRC546, and/or an MSP 548. Additionally, a proxy 542 may be used betweendigital companion servers 406 and recent change engines 542 for securitypurposes.

Network access servers 410 may be included in service center 106 and mayprovide the hardware and software for sending and receiving informationto voice network 410 in processing the applications provided by theservice center. For example, network access servers 410 may include aCaller ID (CID) functionality for retrieving caller ID information fromthe voice network 104, a click to dial (CTD) functionality forinstructing an intelligent peripheral (IP) in the voice network to placea call via an SSP, and/or a real time call management (RTCM)functionality for interfacing with an ISCP of the voice network.

Network Access plane 506 may also include one or more back end server(s)420. Back end server(s) 420 may include hardware and/or software forinterfacing service center 106 and voice network 104. Back end server(s)420 may be connected to service center 106 by a network, by a directconnection, or in any other suitable manner. Further, back end server(s)420 may connect to one or more devices in voice network 104 by anetwork, a direct connection, or in any other suitable manner.

Back end server(s) 420 may include, for example, a server providing avoice mail retrieval and notification function. For example, this voicemail retrieval and notification function may include the capability toreceive notifications when a user receives a voice mail, physically calla user's voice mail system, enter the appropriate codes to retrieve thevoice mail, retrieve the voice mail, convert the voice mail to a digitalfile, and send it to digital companion servers 406.

Additionally, back end server(s) 420 may also include, for example, adirectory assistance server. This directory assistance server may, forexample, interface service center 106 with a Reverse DirectoryAssistance Gateway (RDA Gateway) of voice network 104. A RDA Gateway isa device for issuing requests to a Data Operations Center (DOC) of voicenetwork 104 for name and/or address information associated with a phonenumber and receiving the name and/or phone number in response to thisrequest.

In another example, back end server(s) 420 may include a wirelessinternet gateway that is used for interfacing with a mobile switchingcenter (MSC) of a wireless voice network. As with the above-describedback end server(s) 420, this wireless internet gateway may be used forconverting requests and information between the formats used by servicecenter 106 and those used by the wireless voice network.

In yet another example, back end server(s) 420 may include a conferenceblasting server for instructing a conference bridge in voice network 106to dial out via an SSP to the participants of a voice conference. Or forexample, the back end server(s) may include a server for instructing anIP of the voice network to place a call between two parties by dialingout to each of the parties. The back end server(s) may also include thecapability to instruct the bridge or IP device to call an audiodigitizing device that can listen to the conference, convert the audiosignals to digital format, and forward the digitized signals to a userdevice via, for example, an audio streaming server. The audio streamingserver may, for example, allow a user to connect to it via, for example,the Internet. Additionally, the audio streaming device may buffer orrecord the signals to permit the user to pause, rewind, and/orfast-forward thru the conference.

In yet another example, back end server(s) 420 may include a SingleNumber Short Message Service (SN SMS) server for interfacing servicecenter 106 with a SMS gateway in voice network 104. This may be used forexample to permit the user to have SMS messages addressed to the user'shome phone number directed to an SMS capable device of the userschoosing.

Voice network plane 508 includes the hardware and software included invoice network 104, as discussed above with reference to FIG. 3. Forexample, voice network plane 508 may include ISCP SPACE 314, ISCP 302,intelligent peripherals 320, and SSP 308. Additionally, voice networkplane 508 may also include the hardware and software included in awireless carrier's network, such as, for example, the mobile switchingcenter, etc.

The following provides a more detailed description of methods andsystems for line management. For example, when a call directed to a userat phone 114 arrives at SSP 310 servicing user's phone 114, the user mayspecify that an particular action be automatically taken. The specifiedaction may be, for example, based on criteria, such as the callingparties name/number, the time/day, etc. These actions may include callforwarding, call forwarding based on the calling parties phone number,sending a call to voicemail, and playing an announcement. Additionally,these actions may also include playing a Supplemental Information Tone(SIT), such as described in U.S. patent application Ser. No. 10/720,938,entitled Methods and Systems for Methods and Systems for PreemptiveRejection of Calls, which is incorporated by reference herein in itsentirety. A SIT tone is a particular sequence of tones that are used toprovide information regarding a number (i.e., a communications line),such as that the number is unavailable, and is further described in ITURecommendation E.180 entitled Various tones Used in National Networks.Also, such actions may include blocking at user's direction all calls touser's phone and having him sent directly to voice mail. The followingprovides a more detailed description of exemplary embodiments forproviding a user with the capability to manage one or morecommunications lines associated with the user such that calls directedto the communication line are handled automatically based upon userprovided line management information.

As discussed above, user terminal 112_A may execute a client application(hereinafter referred to as the Digital Companion (“DC”) clientapplication). This DC client application preferably can access digitalcompanion server(s) 406 via, for example, the Internet. This DC clientapplication preferably may retrieve information from the digitalcompanion server(s) regarding user's communication lines (e.g., theuser's home phone, work phone, cell phone, etc.) that the user haselected to subscribe to digital companion services. Further, asdiscussed above, the user may also access and retrieve such informationfrom the digital companion server(s) via a browser operating on a userterminal 112_B via communication portal 408. Or, as discussed above, theuser may access and retrieve such information from the digital companionserver(s) via voice portal 412 using a phone 114.

In this example, the user may be able to register, for example, usingthe DC client application or browser, one or more communicationsdevices, that is, phones, wireless PDAs, computers, etc. with digitalcompanion server(s) 406. This list of devices will be referred to asuser's device profile and may include, for example, a name for thedevice, a phone number for the device if its is a phone, an IP addressfor the device if the device is a device with Internet connectivity(e.g., a wireless PDA, computer, etc.). This information may be providedby the user via, for example, the DC client application or browser. Or,if the communications line for the device is associated with the voicenetwork, information may be retrieved by the communication portal, asdiscussed above.

As discussed above, in an exemplary embodiment, the user may elect tohave all the user's calls for any of the user's communication lines(i.e., a communications device) automatically handled in a particularmanner. The following provides a description of an example in which theuser selects to have all calls to a particular one of the user'scommunications lines forwarded to another one of the devices in theuser's device profile or to another user specified device or number. Forexample, if the user is planning on being away from the office, they mayelect to have calls made to the user's office automatically forwarded tothe user's cellular phone.

FIG. 6 illustrates an exemplary screen shot of a screen 600 that may bedisplayed to a user in response to the user electing to activate callforwarding. As illustrated, screen 600 may display the phone numbers ornames 602 for the various devices in user's device profile (i.e., user'sdifferent communication lines) along with a corresponding activate callforwarding link 604. If a user desires to forward calls for one of theuser's devices, the user can click on the activate call forwarding link604 to the right of the phone's number (or name). In response, the usermay be presented with a new screen for selecting the number to which thecalls are to be forwarded.

FIG. 7 illustrates an exemplary screen shot of a screen 700 that may bedisplayed to a user to select a number to which calls are to beforwarded (hereinafter referred to as a forward-to-number). Asillustrated, screen 700 may display the number 602 for which the userhas selected to have calls forwarded. Additionally, screen 700 maydisplay a pull down list 702 that includes a selection of numbers towhich the calls are to be forwarded and/or user assigned nicknames forthese devices. Numbers in pull down list 702 may include, for example,the numbers and/or names for the other communication devices in user'sdevice profile, along with any other numbers/names saved by the user.The user may then select from this pull down list 702, for example, toforward calls to the user's cellular phone. Or, for example, the usermay select the user's e-mail from this pull-down list to have an e-mailregarding the call sent to him including information regarding the call.Or, the user may select an instant messaging account to have an instantmessaging regarding the call sent to him.

If the user selects to have calls forwarded to a number (device) notlisted, the user may select New Number entry 704 from the pull downlist. In response, the user may be presented with a text box to enter anumber and nickname to which to forward the calls. This number andnickname may then be saved so that in the future the number and/ornickname are displayed in pull down list 702.

Once the user has selected the device to which calls are to beforwarded, the user may then click on activate button 706 to have theuser's changes saved so that the desired call forwarding is implemented.Alternatively, the user may click on cancel button 710 to cancel callforwarding.

Additionally, the call forwarding screens may include a box (not shown)for permitting a user to initiate call forwarding to a particular numberin the event the called device is not answered within a particularnumber of rings. For example, a user may desire that if the user's homephone is not answered within 4 rings, that the call be forwarded to theuser's cell phone or to some other number (e.g., a number for a vacationhouse). In such, an example, the user may enter the number “4” in such abox. Or if the user desires that calls be automatically forwarded, theuser may enter a 0.

Screen 700 further illustrates a schedule button 708. As discussedabove, the user may desire to schedule call forwarding based upon thetime of day, day of week, etc. In the event the user desires to schedulecall forwarding, the user may click on schedule button 708 to bring up anew screen for scheduling call forwarding.

FIG. 8 illustrates an exemplary screen 800 that may be displayed to auser to schedule call forwarding. As illustrated, screen 800 mayillustrate the number for which they want calls forwarded 602 and a pulldown list 804. As with the pull down list discussed above, this pulldown list 804 may include the numbers and/or names for the other devicesin user's device profile along with other numbers and/or namespreviously saved by the user. The user may then select from this pulldown list a name and/or number to which to forward calls.

If, however, the user desires to have calls forwarded to a device/numbernot specified in pull-down list 804, the user may enter the new numberin a new number box 806. The user may further specify a nickname forthis number by entering it in then nickname box 808. This number maythen be saved by the application so that in the future the nickname isdisplayed in the pull down lists. After the user selects the number towhich they wish for calls to be forwarded, the user may select nextbutton 810 and a new page may be displayed to the user to enter thescheduling information. Alternatively, the user may click on cancelbutton 812 to cancel call forwarding.

FIG. 9 illustrates an exemplary screen 900 for entering schedulinginformation for call forwarding. As illustrated, the user may bepresented with boxes for entering the start date 902, the start time904, whether the start time is am or pm 906, the end date 908, the endtime 910, and whether the end time is am or pm 912. Additionally, theuser may be presented with a calendar button for selecting start date914 and a calendar button for selecting end date 916. The calendarbuttons 914 and 916 may be selected to display a calendar. The user maythen select a particular day in the calendar and this date may thenautomatically be entered in start date 902 or end date 908 boxes,respectively.

Additionally, screen 900 may include a repeat setting check boxes 918(e.g., yes or no) that a user may select if they wish for the user'scall forwarding instructions to be repeated. For example, a user maydesire that the call forwarding instructions be repeated daily, weekly,etc. If a user desires to have the user's call forwarding instructionsrepeated, the user may click on the yes box in the repeat setting checkbox 918. This in turn may cause additional options to be displayed tothe user on screen 900.

FIG. 10 illustrates an exemplary screen 990 for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings. As illustrated screen 990 includes check boxes forrepeating the user's setting daily 1002, weekly, 1004, monthly 1006, andyearly 1008. Additionally, the screen includes a box for permitting theuser to enter an end date 1010 for when the repeating is to end, alongwith a corresponding calendar button 1016 such as those described above.In this exemplary screen 1000, the user has selected the daily check box1002. Accordingly, screen 1000 displays daily options to the user, suchas for example, the option for the settings to be repeated ever day(Mon-Sun) 1012 or for the settings to be repeated only on weekdays(Mon-Fri) 1014.

FIG. 11 illustrates an exemplary screen 991 for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings weekly. As discussed above, the user may select the weeklycheck box 1004. In response, screen 991 may display weekly options tothe user, such as, for example, a box for entering how often they wantthe weekly setting repeated 1102 and check boxes for selecting the daysof the week (i.e., Monday thru Sunday) for repeating settings 1104. Forexample, if the user wants the settings repeated every Monday andTuesday, they may enter a 1 in box 1102 and select the check boxes forMonday and Tuesday 1104. Or, if, for example, the user wants thesettings repeated every other week, they may enter a 2 in box 1102.

FIG. 12 illustrates an exemplary screen 992 for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings monthly. As discussed above, the user may select themonthly check box 1006. In response, screen 992 may display monthlyoptions to the user, such as, for example, a box 1202 for entering aparticular day during a month for repeating the call forwarding and abox 1204 for entering how often they want the monthly setting repeated.For example, if the user wants the call forwarding to occur on thefifteenth of every month, they may enter a fifteen in box 1202 and a onein box 1204. Or, if the user wants the call forwarding to occur on thefifteenth of every other month, they may enter a fifteen in box 1202 anda two in box 1204.

FIG. 13 illustrates an exemplary screen 993 for entering schedulinginformation for call forwarding where the user has selected to repeatthe settings yearly. As discussed above, the user may select the weeklycheck box 1008. In response, screen 993 may display yearly options tothe user, such as, for example, a pull down list for selecting aparticular month 1302 and a box for entering a particular day 1304.Then, for example, if the user wants the call forwarding to occur onJuly 4^(th) of every year, they may select July from pull down list 1302and enter a four in box 1304.

After the user has entered the user's desired call forwardinginstructions, the user may then select save button 924 to have theuser's changes saved and to implement the desired call forwarding.Alternatively, the user may select cancel button 920 to cancel callforwarding or back button 922 to return to the previous screen.

Once a user enters the information to implement call forwarding for oneof the user's communications lines and has saved the user's changes theinformation may be forwarded from user terminal 112_A to digitalcompanion servers 406 which stores the information in database 522.

In addition to having all calls to a particular communications line(i.e., communication device) forwarded, in this example the user mayalso be able to select to have all calls to the communications linetreated in some other manner. For example, the user may select to haveall calls to a particular communications line blocked and sent directlyto voice mail. In one example, the user may be able to simply check abox next to the name/number for the communication line to block callsand then save the changes.

In addition to automatically handling all calls to a particularcommunication line in a particular manner, the user may also be able totreat calls differently based on the caller ID of the incoming call. Forexample, a user may want calls made to the user's office phone from aparticular person (e.g., an important user) to be forwarded to theuser's cell phone, and calls from a different person (e.g., a friend) tobe forwarded to the user's home phone. In such, an example, user's cellphone will be treated as the forward-to device for calls from the user,while the person's home phone will be treated as the forward-to devicefor calls from the user's friend.

As discussed above, the system may provide a user address book thatincludes names, phone numbers, and/or addresses of people and/ororganizations entered by the user. Further, as discussed above, thisaddress book may be stored in contacts database 530. A user wishing toadd, delete or modify contacts in the user's address book may bring upthe DC client application, which may include an option for modifying theaddress book.

The DC client application may then contact digital companion servers 406to retrieve user's address book. If user terminal 112_A is connected tothe Internet, this may be accomplished, for example, by the DC clientapplication on user terminal 112_A retrieving the address book fromdigital companion server(s) 406. In another example, the user may accessand modify the user's address book by directly contacting communicationportal 408 via a user terminal (e.g., user terminal 112_B) executing anappropriate client application such as, for example, a web browserapplication.

Once the user terminal (e.g., 112_A or 112_B) has retrieved the user'saddress book, the user may then add, delete, or modify its listedcontacts. Additionally, the address book may also include an entry foreach contact regarding how calls from this particular contact are to behandled. As discussed above, a user may wish that all calls from aparticular contact be forwarded to user's cell phone. The user may thenselect on a particular entry in the user's address book to bring updetails regarding this contact.

FIG. 14 illustrates a more detailed screen 1400 that, for example, auser may be presented with for a particular contact in the user'scontact book. As illustrated, screen 1400 may include various phonenumbers 1402 for the contact (e.g., a work number, cell phone number,home numbers, etc.). Additionally, screen 1400 may include a button forforwarding calls from this particular number 1404. A user may then clickon this button to bring up subsequent screens for specifying how callsfrom this particular contact are to be treated. Such screens may, forexample, be similar to the above-described FIGS. 7 through 13. Further,screen 1400 may also include additional buttons for selectingalternative handling of calls from this contact, such as, for example,blocking calls and forwarding him automatically to voice mail, playing aspecially recorded message to the user, etc. Or, the screen may includea single button for selecting special handling. Then subsequent screensmay be provided to the user so that the user may select the specializedhandling. In the event, the user elects to play a announcement, the usermay be presented with options for either selecting a prerecorded messageor for recording an announcement. Also, this screen 1400 may alsoinclude a single button (not shown) for selecting a treatment for allnumbers associated with the contact. Thus, rather than selectingindividual treatments for each of the contacts numbers, the user mayselect such a button so that all calls from this contact are handled ina common manner.

Additionally, such screens may allow the user to modify a defaulthandling forcalls for which they have not specified a specializedtreatment. For example, the user may desire that for calls for whichthey have not specified a particular handling, that some other action betaken, such as, for example, forwarding the call to a particular number,playing a SIT tone, etc. For example, the user may specify a defaulthandling for calls by using screens such as discussed above withreference to FIGS. 7 through 13. Then, calls to this particularcommunication line are handled in this default manner unless aparticular treatment is specified for calls from a particular number.

Additionally, rather than have calls forwarded to a phone, in anembodiment, a user may select to have calls forwarded to an application,such as for example, an instant messenger application on a wirelesspersonal data assistant (PDA) so that an instant message regarding thecall that may include the caller-ID information regarding the call issent to user's PDA. Additionally, digital companion server(s) 406 mayuse the caller-ID of the caller determine if the caller is alsoregistered with digital companion server(s) 406. If so, digitalcompanion server(s) 406 may determine if the caller has registered aninstant messaging application. Then, if the caller also has an instantmessaging application, digital companion server(s) 406 may establish acommunication session between the instant messaging applications anddirect, for example, that can audible message be played to a caller thatthe call has been forwarded to an instant messaging application. Then,the caller and the user may send each other instant messages.

After the user makes the user's selections, the user can elect to savethe user's changes, such that they are stored by digital companionserver(s) 406 and/or communication portal 408. For example, once theuser elects to save the user's changes, the DC client application onuser terminal 112_A may send these changes to the digital companionserver(s) via web server 514. Application server 516 may then save thesechanges in the appropriate databases.

FIG. 15 illustrates a flow for chart for an exemplary method forimplementing user's selections, in accordance with methods and systemsconsistent with the invention. As discussed above, a user can makechanges regarding how they want calls treated. (S1502). The user canthen save the user's changes, such that the user's changes are forwardedto digital companion servers 406.

In one example, user terminal 112_A executes a DC client applicationthat may send the changes via the Internet to web server 514 of digitalcompanion servers 406. (S1504). Web server 514 receives the changes andthen may forward the changes to application server 516. (S1506).Application server 514 then may save the changes in database 522.(S1508).

Application server 516 may then determine whether the handling of callsto any of the user's communications lines changed and whether or not toforward any modifications to the communications network. (S1510).

If application server 516 determines to modify the communications lines,application server 516 may forward appropriate instructions to theeffected communications lines. (S1512). For example, application server516 may determine that a forwarding update should be sent so that allcalls addressed to a particular number are to be forwarded. Then,application server 516 may forward an instruction to the appropriatecomponent of voice network 104. For example, if the applicationdetermines a forwarding update should be made, it may send anappropriate instruction to communication lines SSP 310 or ISCP 302 viaits respective recent change engine 316. A further description offorwarding updates is presented below.

In an exemplary embodiment, two types of forwarding updates may be used:a Call Forward Variable (CFV) update, and an AIN update. For example, ifSSP 310 (FIG. 3) servicing the communications line being modified (inthis example user's home phone 114) does not support AIN services, a CFVupdate may be performed to implement the desired call forwarding (e.g.,if SSP 310 is an older type switch not supporting AIN services.)Otherwise, an AIN update may be performed.

Accordingly, in this example, if application server 516 (FIG. 5)determines SSP 310 does not support AIN services, application server 516performs a CFV update. Application server 516 may then send theforwarding information to the appropriate recent change engine 316 usinga switch update message. (S1512). The recent change engines 316 thenupdates the CFV forwarding number in user's SSP 310. (S1514).

In this exemplary embodiment, SSP 310 stores a table includinginformation regarding the phone numbers supported by SSP 310. This tablemay also include information regarding whether the phone numberssubscribe to caller ID services, voice mail services, etc. Additionally,this table may include an entry regarding whether or not to forwardcalls originally directed to this phone number to a different numberalong with the number to which the calls are to be forwarded (i.e., theforward-to number). Accordingly, in the example, recent change engine316 modifies the SSP's table to activate call forwarding and to insertthe forward-to-number in the table. Then when SSP 310 receives callsoriginally directed to this phone number, it automatically forwards himto the forward-to number.

If, however, in this example, application server 516 determines that SSP310 supports AIN services, application server 516 may transmit theforwarding information via an AIN update request message to theappropriate recent change engine 316. (S1512). Recent change engine 316then updates its respective ISCP SPACE 314. (S1514). For example, ISCPSPACE 314 for ISCP 302 supporting SSP 310 may store informationregarding how to treat calls originally directed to user's home phone114, including whether or not calls are to be forwarded and, if so, towhat number. ISCP SPACE 314 may then receive the data from recent changeengine 316 and propagate local database(s) associated with ISCP 302.These databases may be, for example, internal or external to ISCP 302and/or ISCP SPACE 314.

As discussed above, the user may also schedule a user's call forwardingtreatment. For example, a user may specify that calls from a particularcontact be forwarded to the user's cell phone during evenings and onweekends, and calls from the same contact be forwarded to the user'soffice phone during the working hours of 9 a.m. to 5 p.m. on workdays.In such an example, when the time comes for the treatment to change, thecalendar server 518 may send a message to application server 516regarding the change in call treatment. (S1520.) In response,application server 516 may then transmit the modified forwardinginformation to the appropriate recent change engine 316 which in turnmay transmit this information to SSP 310 or ISCP SPACE, as discussedabove.

After the forwarding information is provided to SSP 310 or ISP SPACE314, calls arriving at SSP 310 for user's phone 114 are automaticallyforwarded to the forward-to number.

FIG. 16 illustrates a flow chart for a method for call forwarding by anSSP 310 updated via a CFV update, in accordance with methods and systemsconsistent with the invention. As illustrated, a caller 120 (“user 2”)places a call to the DC user's (“user 1”) home phone 114. (S1602) Thecall from calling party 120 traverses network 104 and reaches SSP 310servicing the user. (S1604). SSP 310 then looks up in its table todetermine if call forwarding is activated. (S1606). If so, SSP 310routes the call to the stored forwarding number instead of to the user'shome phone 114. (S1608). If call forwarding is not activated, SSP 310routes the call to user's home phone 114. (S1610).

FIG. 17 illustrates a method for call forwarding for an SSP 310providing AIN services, in accordance with methods and systemsconsistent with the invention. As illustrated, a caller places a call tothe user's home phone 114. (S1702) The call from the calling partytraverses network 104 and reaches the SSP 310 servicing user 1. (S1704).When the call reaches SSP 310, it results in an AIN trigger and SSP 310launches a query to ISCP 302. (S1706). The service logic program of ISCP302 may then look up in its database(s) whether call forwarding serviceis to be applied. (S1780). If so, ISCP 302 retrieves the forwardingnumber from the database(s). (S1710). The service logic program of ISCP302 then sends its response to SSP 310 instructing it to route to callto the forwarding number. (S1712). In response, SSP 310 forwards thecall to the retrieved forwarding number. (S1714). If, however, callforwarding is not activated for users home phone 114, ISCP 302 directsSSP 310 to forward the call to user's home phone 114. (S1716).

Additionally, as discussed above, a user may select to have callstreated differently based on identity of the calling party (e.g.,caller-ID information) rather than simply forwarding all calls addressedto a particular communications device. If so, application server 516 ofdigital companion server(s) 416 may access the user's address book,calendar, etc. to create a disposition list for the device. Thisdisposition list identifies how calls from different numbers (i.e., withdifferent caller-IDs) are to be handled (e.g., where to forward thecalls, play a message or SIT tone, etc.).

FIG. 18 illustrates a flow chart of a method for forwarding calls basedon the caller-ID of the call in accordance with methods and systemsconsistent with the invention. First, a call is placed to the user'shome phone 114. (S1802). The call is then routed by network 104 to SSP310, which is associated with user phone 114. (S1804). SSP 310 thengenerates a trigger that is picked up by ISCP 302 (S1806). This triggermay be, for example, a Termination Attempt Trigger (TAT) or a specificDigit String (SDS). ISCP 302 then determines if special handling basedon caller-ID should be applied. (S1808). If so, ISCP 302 queries DigitalCompanion server(s) 406 through network access server 410 (S1810). Thisquery may include the caller-ID of the calling party's phone number(i.e., “caller-ID”).

This query is then forwarded to application server 516 of digitalcompanion 406. (S1812). Application server 516 then looks up thecaller-ID in the disposition list (S1814). If the number is found in thedisposition list, application server 516 retrieves from the dispositionlist the handling for the call (S1816). Application server 516 theninstructs ISCP 302 to handle the call according to the retrievedhandling instructions (S1818). ISCP 302 then instructs SSP 310 how tohandle the call (S1820). In response, SSP 310 handles the call accordingto the received instructions. (S1822).

In a first example, the call is to be forwarded to a particular number(“forward-to number”), such as for example, to a cell phone. In such anexample, application server 516 may send an instruction to forward thecall to ISCP 302 via network access server 410 (S1818). ISCP 302 maythen instruct SSP 310 to forward the call to the forward-to number, i.e.to the cell phone (S1820). In response, SSP 310 forwards the call to theforward-to number (S1822). Further, as discussed above, the user mayelect to only forward the call if the called number is not answeredwithin a user specified number of rings.

In a second example, the caller-ID may not exist in the disposition listand application server 516 may elect to apply a user specified defaulttreatment to the call (S1824). For example, the user may elect for homephone 114 to ring if no specific treatment is specified. In otherexamples, the default may be set to forward the call to a particularnumber such as mobile phone or a vacation number, if, for example, theuser is on vacation. In such an example, the default handling may bestored in digital companion server(s) 406 and then retrieved andforwarded by application server 516 to ISCP 302 as discussed above. Or,in another example, application server 516 may simply send aninstruction to ISCP 302 to handle the call according to its default(e.g., the information stored in ISCP 302 or SSP 306 regarding handlingof calls to this communications line).

In a third example, a user may select that calls from a particularcaller-ID be sent directly to voice mail. In such an example,application server 516 may send an instruction to ISCP 302 forward thecall to voice mail (S1818). ISCP 302 then may send an instruction to theSSP 310 (S1820). In response, SSP 310 forwards the call to an IP 320providing voice mail services (S1822).

In a fourth example, the user may select that a SIT tone be played tothe caller based on the caller-ID or in the event the caller-ID isunavailable. In such an example, application server 516 may send aninstruction to play a SIT tone to ISCP 302. (S1818). In response, ISCP310 may direct SSP 310 to forward the call to an IP which in turn playsa SIT tone. (S1820). The call may then be terminated or forwarded tovoice mail, etc. (S1822). Alternatively, rather than playing a SIT tone,the user may direct that a particular voice recording be played to thecaller based on the caller-ID.

In yet another example, the user may specify both a primary and asecondary handling procedure for calls, such that the secondary handlingprocedure is implemented if for example the primary handling procedurecannot be completed or some other criteria is met, such as, for example,user specified criteria. For example, the user may desire to have callsto their home phone from a particular contact ring the home phone, butif the home phone is busy or not answered within a specific number ofrings then forward the call to the user's cell phone. The user may alsobe able to schedule these primary and secondary handling procedures.

The user may specify these primary and secondary handling procedures ina similar manner to the scheduling of a single handling procedure usingscreens such as those described above, wherein these screens provide theuser with the ability to specify both primary and secondary handlingprocedures. Additionally, these screens may permit the user to specifywhen the secondary handling procedure should be used. For example, theuser may specify that the secondary handling procedure be used if theprimary handling procedure cannot be completed because the line is busyor not answered in a predetermined number of rings, or, if the phone isturned off or out of range as may, for example, be the case withwireless phones.

In the example of a user specifying both a primary and secondaryhandling procedure, when a call arrives at the communications line, theapplication server 514 may determine based on the user specifiedcriteria, whether to apply the primary or secondary handling procedures.The application server 514 may then direct that the call be handledbased on the determined procedure using methods and systems, such asthose discussed above.

In another example, in addition to the user specifying that the handlingprocedure be based on a schedule, the user may also be capable ofspecifying the handling procedure based on the user's location. Forexample, the user may be able to specify for calls to be forwarded totheir office phone if, for example, the user is logged on to the digitalcompanion server(s) via a computer in the user's office. Or, forexample, the user may specify that the calls be forwarded to the user'swireless phone if for example, the user is logged on to the digitalcompanion server(s) via a wireless device, such as, for example, theirwireless phone or a PDA. Additionally, in another example, the user mayhave a device with Global Positioning System (GPS) type capabilitiessuch that the user's location is forwarded to the digital companionserver(s) 416. The user in such an example may then specify how tohandle calls from contact(s) based upon the information regarding theuser's location.

In yet another example, the above-discussed screens may include optionsfor adding contacts from the user's address book to various lists, suchas for example, a selective call acceptance list, a selective callrejection list and a selective call forwarding list. For example, if acontact is added to the selective call acceptance list and the user hasselected to block calls, then the digital companion server(s) 416 maydetermine whether or not the caller-ID information is on the selectiveacceptance list and if so complete the call to the called device, and ifnot, send the call to voice mail. If, for example, a contact is on theselective call rejection list, then calls from the contact may be sentdirectly to voice regardless of whether or not the user has selected toblock all calls. Additionally, if, for example, a contact is on theselective call forwarding list, then the digital companion server(s) 416may direct that calls from this contact be forwarded to a numberassociated with the selective call forwarding list.

In yet another example, the user may be able to define groups ofcontacts such that calls from any of the contacts in the group arehandled in a common manner. For example, the user using screens similarto those discussed above may create a group of all contacts in theuser's address book that work with the user. The user may then give thisgroup a name (e.g., co-workers) such that this group becomes a separateentity in the user's address book. The user may then, for example,select a handling procedure for this group so that any call from anymember of the group is handled according to the handling procedure forthe group.

While the present invention has been described in connection withvarious embodiments, many modifications will be readily apparent tothose skilled in the art. One skilled in the art will also appreciatethat all or part of the systems and methods consistent with the presentinvention may be stored on or read from computer-readable media, such assecondary storage devices, like hard disks, floppy disks, and CD-ROM; acarrier wave received from a network such as the Internet; or otherforms of ROM or RAM. Accordingly, embodiments of the invention are notlimited to the above described embodiments and examples, but instead isdefined by the appended claims in light of the user's full scope ofequivalents.

What is claimed is:
 1. A method for management of a communications lineassociated with a communications device and with a user of acommunications network, the communications network comprising a voicenetwork and a data network, the method comprising: receiving, at aserver, line management information from the user over the data network,the server being in communication with the data network and the voicenetwork, the line management information comprising: informationidentifying the communications line; and information requesting amodification to the identified communications line, the requestedmodification identifying an additional communications device to whichcalls received by the identified communications line are forwarded;determining, at the server, whether the requested modification wouldchange a procedure for handling of calls directed to the identifiedcommunications line; generating, at the server, an instruction toimplement the requested modification when the requested modificationwould change the procedure, the generating comprising: obtaining, from adatabase, information associated with the identified communicationsline; determining, based on the obtained information, a property of thecommunications network associated with the communications line, thecommunications network property being indicative of a functionality of acomponent of the voice network that services the identifiedcommunications line that is required to implement the modification; andgenerating, based on at least the communications network property, asignal to implement the requested modification at the voice networkcomponent in accordance with the functionality; and transmitting thegenerated instruction to the voice network component to implement therequested modification.
 2. The method of claim 1, wherein transmittingthe generated instruction comprises transmitting the generatedinstruction to a service control point.
 3. The method of claim 2,wherein transmitting the generated instruction to the service controlpoint comprises transmitting the generated instruction to a serviceprovisioning and creation environment.
 4. The method of claim 1, whereintransmitting the generated instruction comprises transmitting thegenerated instruction to a switch.
 5. The method of claim 1, wherein theinformation identifying the communications line comprises contactinformation, the contact information comprising at least one of acontact name and a contact phone number.
 6. The method of claim 5,wherein the requested modification identifies the additionalcommunications device based on at least one of the contact name and thecontact phone number.
 7. The method of claim 1, wherein the requestedmodification identifies the additional communications device based on auser-defined time schedule and the time the call is received.
 8. Themethod of claim 5, wherein: the additional communications devicecomprises one or more processors providing voice mail services; and therequested modification identifies the one or more processors based on atleast one of the contact name and the contact phone number.
 9. Themethod of claim 1, wherein the additional communications devicecomprises one or more processors for playing an audible signalindicative of the communications line being unavailable.
 10. A systemfor management of a communications line associated with a communicationsdevice and with a user of a communications network, the communicationsnetwork comprising a voice network and a data network, the systemcomprising: a first interface for connecting to the data network; asecond interface for connecting to the voice network; and a servercomprising one or more processors in communication with the first andsecond interfaces, the server being configured to: receive linemanagement information from the user via the first interface, the linemanagement information comprising: information identifying thecommunications line; and information requesting a modification to theidentified communications line, the requested modification identifyingan additional communications device to which calls received by theidentified communications line are forwarded; determine whether therequested modification would change a procedure for handling of callsdirected to the identified communications line; generate an instructionto implement the requested modification when the requested modificationwould change the procedure, the server being further configured to:obtain, from a database, information associated with the identifiedcommunications line; determine, based on the obtained information, aproperty of the communications network associated with thecommunications line, the communications network property beingindicative of a functionality of a component of the voice network thatservices the identified communications line that is required toimplement the modification; and generate, based on at least thecommunications network property, a signal to implement the requestedmodification at the voice network component in accordance with thefunctionality, and transmit the generated instruction, via the secondinterface, to the voice network component to implement the requestedmodification.
 11. The system of claim 10, further comprising a recentchange engine for receiving the generated instruction from the serverand transmitting the generated instruction to a service control point.12. The system of claim 11, wherein the service control point includes aservice provisioning and creation environment and wherein the recentchange engine is capable of transmitting the generated instruction tothe service provisioning and creation environment of the service controlpoint.
 13. The system of claim 10, further comprising a recent changeengine for receiving the generated instruction from the server andtransmitting the generated instruction to a switch.
 14. The system ofclaim 13, wherein the switch includes a table and wherein the recentchange engine is capable of modifying the table.
 15. The system of claim10, wherein the requested modification identifies the additionalcommunications device based on contact information, the contactinformation comprising at least one of a contact name and a contactphone number.
 16. The system of claim 15, wherein the requestedmodification identifies the additional communications device based on auser-defined time schedule and a time the call is received.
 17. Thesystem of claim 10, wherein the additional communications devicecomprises one or more processors providing voice mail services.
 18. Thesystem of claim 10, wherein the additional communications devicecomprises one or more processors for playing an audible signalindicative of the communications line being unavailable.
 19. A systemfor management of a communications line associated with a communicationsdevice and with a user of a communications network, the communicationsnetwork comprising a voice network and a data network, the systemcomprising: means for receiving, at a server, line managementinformation from the user over the data network, the server being incommunication with the data network and the voice network, the linemanagement information comprising: information identifying thecommunications line; and information requesting a modification to theidentified communications line, the requested modification identifyingan additional communications device to which calls received by theidentified communications line are forwarded; means for determining, atthe server, whether the requested modification would change a procedurefor handling of calls directed to the identified communications line;means for generating, at the server, an instruction to implement therequested modification when the requested modification would change theprocedure, the means for generating comprising: means for obtaining,from a database, information associated with the identifiedcommunications line; means for determining, based on the obtainedinformation, a property of the communications network associated withthe communications line, the communications network property beingindicative of a functionality of a component of the voice network thatservices the identified communications line that is required toimplement the modification; and means for generating, based on at leastthe communications network property, a signal to implement the requestedmodification at the voice network component in accordance with thefunctionality; and means for transmitting the generated instruction tothe voice network component to implement the requested modification. 20.The system of claim 19, wherein the means for transmitting the generatedinstruction to a component of the voice network comprises means fortransmitting the generated instruction to a service control point. 21.The system of claim 20, wherein the means for transmitting the generatedinstruction to the service control point comprises means fortransmitting the generated instruction to a service provisioning andcreation environment.
 22. The system of claim 19, wherein the means fortransmitting the generated instruction to the component of the voicenetwork comprises means for transmitting the generated instruction to aswitch.
 23. The system of claim 19, wherein the information identifyingthe communications line comprises contact information, the contactinformation comprising at least one of a contact name and a contactphone number.
 24. The system of claim 23, wherein the requestedmodification identifies the additional communications device based on atleast one of the contact name and the contact phone number.
 25. Thesystem of claim 19, wherein the requested modification identifies theadditional communications device based on a user-defined time scheduleand the time the call is received.
 26. The system of claim 19, whereinthe additional communications device comprises one or more processorsproviding voice mail services.
 27. The system of claim 19, wherein theadditional communications device comprises one or more processors forplaying an audible signal indicative of the communications line beingunavailable.
 28. A method for management of a communications lineassociated with a communications device and with a user of acommunications network, the communications network comprising a voicenetwork and a data network, the method comprising: receiving, at aserver, line management information from the user over the data network,the server being in communication with the data network and the voicenetwork, the line management information comprising: informationidentifying the communications line; and information requesting amodification to the identified communications line, the requestedmodification identifying an additional communications device to whichcalls received by the identified communications line are forwarded;determining, at the server, whether the requested modification wouldchange a procedure for handling of calls directed to the identifiedcommunications line; generating, at the server, an instruction toimplement the requested modification when the requested modificationwould change the procedure, the generating comprising: obtaining, from adatabase, information associated with the identified communicationsline; determining, based on the obtained information, a property of thecommunications network associated with the communications line, thecommunications network property being indicative of a functionality of acomponent of the voice network that services the identifiedcommunications line that is required to implement the modification; andgenerating, based on at least the communications network property, asignal to implement the requested modification at the voice networkcomponent in accordance with the functionality; and transmitting thegenerated instruction to a service control point of the voice network toimplement the requested modification.
 29. A system for management of acommunications line associated with a communications device and with auser of a communications network, the communications network comprisinga voice network and a data network, comprising: a first interface forconnecting to the data network; a second interface for connecting to thevoice network; and a server comprising one or more processors incommunication with the first and second interfaces, the server beingconfigured to: receive line management information from the user via thefirst interface the line management information comprising: informationidentifying the communications line; and information requesting amodification to the identified communications line, the requestedmodification identifying an additional communications device to whichcalls received by the identified communications line are forwarded;determine whether the requested modification would change a procedurefor handling of calls directed to the identified communications line;generate an instruction to implement the requested modification when therequested modification would change the procedure, the server beingfurther configured to: obtain, from a database, information associatedwith the identified communications line; determine, based on theobtained information, a property of the communications networkassociated with the communications line, the communications networkproperty being indicative of a functionality of a component of the voicenetwork that services the identified communications line that isrequired to implement the modification; and generate, based on at leastthe communications network property, a signal to implement the requestedmodification at the voice network component in accordance with thefunctionality; and transmit the generated instruction, via the secondinterface, to a service control point of the voice network to implementthe requested modification.
 30. A system for management of acommunications line associated with a communications device and with auser of a communications network, the communications network comprisinga voice network and a data network, the system comprising: means forreceiving, at a server, line management information from a device overthe data network, the server being in communication with the datanetwork and the voice network, the line management informationcomprising: information identifying the communications line; andinformation requesting a modification to the identified communicationsline, the requested modification identifying an additionalcommunications device to which calls received by the identifiedcommunications line are forwarded; means for determining, at the server,whether the requested modification would change a procedure for handlingof calls directed to the identified communications line; means forgenerating, at the server, an instruction to implement the requestedmodification when the requested modification would change the procedure,the means for generating comprising: means for obtaining, from adatabase, information associated with the identified communication line;means for determining, based on the obtained information, a property ofthe communications network associated with the communications line, thecommunications network property being indicative of a functionality of acomponent of the voice network that services the identifiedcommunications line that is required to implement the modification; andmeans for generating, based on at least the communications networkproperty, a signal to implement the requested modification at the voicenetwork component in accordance with the functionality; and means fortransmitting the generated instruction to a service control point of thevoice network to implement the requested modification.